Published
- 5 min read
How to Deploy ML Models: Basic Approaches
#1 - Une petite histoire
Objectifs:
- Deployer un model de ML avec streamlit
- Deployer un model de ML avec FastAPI
- Deployer un model de ML avec Flask
- Deployer un model de ML dans Flutter/Mobile/IoT
2 - Fondamentaux du déploiement des models & Techniques
- Le côté client s’exécute localement sur la machine de l’utilisateur (navigateur web, appareils mobiles, etc.).
- Il se connecte au côté serveur qui exécute votre code à distance.
- Le serveur se connecte à une base de données pour extraire les données, les afficher et les présenter à l’utilisateur.
Streamlit
OBJECTIFS
- Comprendre les bases de Streamlit
- Installation et premier code
- Maîtriser la visualisation de données
- Savoir déployer des applications Streamlit
1. Comprendre les bases de Streamlit
Streamlit est une solution open source conçue pour simplifier l’exploration et la visualisation des données. Grâce à son interface conviviale, vous pouvez facilement transformer vos scripts de données en applications Web dynamiques en utilisant seulement quelques lignes de code Python. De l’intégration de widgets, de graphiques et de cartes à l’affichage de tableaux et bien plus encore.
- Data Exploration and Visualization:
- Machine Learning Prototyping:
2. Installation et premier code
3. Initiation à la visualisation de données
!pip install streamlit pandas matplotlib seaborn
import pandas as pd
data = {
"age": [25, 30, 35, 40, 45],
"salaire": [50000, 60000, 70000, 80000, 90000],
"experience": [2, 5, 8, 10, 12]
}
df = pd.DataFrame(data)
df.to_csv("utils/app_data.csv", index=False)
%%file utils/app.py
import streamlit as st
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
st.title('Visualisation des données avec Streamlit')
uploaded_file = st.file_uploader("Choisissez un fichier CSV", type="csv")
if uploaded_file is not None:
df = pd.read_csv(uploaded_file)
st.write("Aperçu des données")
st.write(df.head())
x_col = st.selectbox("Choisissez la colonne pour l'axe X", df.columns)
y_col = st.selectbox("Choisissez la colonne pour l'axe Y", df.columns)
st.write(f"Graphique de {x_col} vs {y_col}")
plt.figure(figsize=(10, 6))
sns.scatterplot(data=df, x=x_col, y=y_col)
st.pyplot(plt)
!python -m streamlit run utils/app.py
You can now view your Streamlit app in your browser.
Local URL: http://localhost:8501
Network URL: http://10.152.80.114:8501
^C
Stopping...
4. Savoir déployer des applications Streamlit
Instructions : https://docs.streamlit.io/deploy/streamlit-community-cloud/get-started/create-your-account
Nous allons voir comment deployer avec Streamlit cloud: share.streamlit.io
Github
Vous devez avoir un repo sur github pour le projet a deployer. Deux fichier sont essentiel. votre vichier principal 'app.py' et le fichier de requirements
Any question?
OBJECTIFS
- Comprendre les bases de FastAPI
- Installation et premier code
- Savoir déployer un web service fastapi
2. Installation et premier code
!pip install fastapi
%%file utils/main.py
from typing import Union
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
return {"item_id": item_id, "q": q}
!fastapi dev utils/main.py
3. Savoir déployer un web service fastapi:
- cas: render
- source: render.com
Any question?
Source:
https://dev.to/mostafa_ead/integration-of-machine-learning-models-in-flutter-a-comprehensive-guide-3pag
Source: chat GPT
Objectifs
- Voir comment on peut utliser un model dans dans flutter
Prérequis
- Compréhension de base de Flutter et Dart
- Familiarité avec les concepts de l’apprentissage automatique
- SDK Flutter installé et configuré
L’intégration de modèles d’apprentissage automatique dans les applications Flutter peut être réalisée de différentes manières, en fonction de la complexité du modèle, des exigences en matière de calcul et de la question de savoir si l’inférence doit être effectuée sur l’appareil ou sur un serveur distant. Voici quelques approches courantes :
-
Appel d’un web service
Utilisation d’une api flask ou fastapi par exemple
-
On-Device Machine Learning with TensorFlow Lite
Il vous permet d’exécuter des modèles d’apprentissage automatique sur l’appareil, garantissant une faible latence et des capacités hors ligne.
-
Utilisation d’ONNX Runtime:
ONNX Runtime est un moteur d’inférence pour les modèles Open Neural Network Exchange (ONNX). Il prend en charge l’exécution de modèles sur différentes plateformes, y compris les mobiles.
- Utilisation de Firebase ML Kit:
Firebase ML Kit fournit des API prêtes à l’emploi pour des cas d’utilisation courants de l’apprentissage automatique tels que la reconnaissance de texte, la détection de visages et l’étiquetage d’images. Il prend en charge les modèles d’apprentissage automatique à la fois sur l’appareil et basés sur le cloud.